An Observational Study of How Experienced Programmers Annotate Program Code
نویسندگان
چکیده
This study investigates how and why experienced programmers annotate program code. Research has shown that marking up prose with a pen is an invaluable aid to reading for understanding. However program code is very different from prose: there are no studies on how programmers annotate code while reading. We asked experienced programmers to read code printed on paper and observed their annotation practices. We found the main reasons for annotating code are to assist with navigation and to record information for later use. Furthermore, we found annotation practices that are hard to replicate in current standard Integrated Development Environments. This suggests that support for digital ink annotations in programming tools may be useful for comprehending program code.
منابع مشابه
What Programmers Really Do - An Observational Study
Although the field of program comprehension as a research discipline has evolved considerably over the past years, only little is known about how software engineers perform their work. In this paper, we report on an observational study that we have carried out to investigate how software developers understand code when they approach a given maintenance task. We particularly focused on the devel...
متن کاملAn Empirical Study of Experienced Programmers’ Acquisition of New Programming Languages
Experienced programmers often need to use online resources to pick up new programming languages. However, we lack a comprehensive understanding of which resources programmers find most valuable and utilize most often. In this paper, we study how experienced programmers learn Rust, a systems programming language with comprehensive documentation, extensive example code, an active online community...
متن کاملThe Roles Beacons Play in Comprehension for Novice and Expert Programmers
In this research, progressively refined methods of investigating Beacon-like features (the surface features of computer programs that serve as keys to facilitate program comprehension) were used to determine how programmers from different experience levels understand a typical simple program. In this study, we found Beacons for novice programmers are different than they are for more experienced...
متن کاملFreely Annotating C#
Reflective programming is becoming popular due to the increasing set of dynamic services provided by execution environments like JVM and CLR. With custom attributes Microsoft introduced an extensible model of reflection for CLR: they can be used as additional decorations on element declarations. The same notion has been introduced in Java 1.5. The annotation model, both in Java and in C#, limit...
متن کاملHow Do Program Understanding Tools Affect How Programmers Understand Programs?
In this paper, we explore the question of whether program understanding tools enhance or change the way that programmers understand programs. The strategies that programmers use to comprehend programs vary widely. Program understanding tools should enhance or ease the programmer’s preferred strategies, rather than impose a fixed strategy that may not always be suitable. We present observations ...
متن کامل